package com.jasmine.bjstkserver.server.dict;

import java.util.List;
import java.util.Map;

/**
 * @author jasmineXz
 */
public interface DictService {

    /**
     * 根据ID查询
     * @param dictId 字典ID
     * @return 字典列表
     */
    List<DictEntity> findList(Integer dictId);


    /**
     * 查询字典列表
     * @param dict
     * @return
     */
    List<DictEntity> findList(DictEntity dict);


    /**
     * 修改字典
     * @param dict 字典
     * @return 影响行数
     */
    Integer updateDict (DictEntity dict);


    /**
     * 刷新全部字典
     */
    void refreshDictAll();


    /**
     * 获取字典父组
     * 通过AuthUtil获取当前线程用户ID查询字典
     * @param code     字典ID
     */
    Map<String,String> getDict(String code);


    /**
     * 获取字典父组
     * 查询指定用户字典
     * @param code     字典ID
     * @param userId   用户ID
     * @return         父字典集合
     */
    Map<String,String> getDict(String code,Integer userId);


    /**
     * 查询字典子项
     * 通过AuthUtil获取当前线程用户ID查询字典
     * @param code     字典ID
     * @param dictName 子字典名称
     * @return         返回字典值 dictValue
     */
    String getDictValue(String code,String dictName);


    /**
     * 查询字典子项
     * 查询指定用户字典
     * @param code     字典ID
     * @param dictName 子字典名称
     * @param userId   用户ID
     * @return         字典值 dictValue
     */
    String getDictValue(String code,String dictName,Integer userId);

}
